package cc.rengu.igas.route.common.dao;

import cc.rengu.igas.route.common.entity.DyncDataStatic;

import java.util.List;

/**
 * 智能路由动态数据统计表操作接口
 *
 * @author xlz
 * @version 1.0
 * @date 2020-03-13
 */
public interface DyncDataStaticMapper {

    /**
     * 获取指定的智能路由统计的动态数据
     *
     * @param instId         法人机构
     * @param transChannelId 渠道编号
     * @param machineId      机器编号
     * @return 成功返回动态统计数据，无数据返回null
     * @throws Exception 非无数据失败及其他异常
     */
    DyncDataStatic getDyncDataStatic(String instId, String transChannelId, String machineId) throws Exception;

    /**
     * 获取指定机器的智能路由统计的动态数据
     *
     * @param instId    法人机构
     * @param machineId 机器编号
     * @return 成功返回动态统计数据，无数据返回null
     * @throws Exception 非无数据失败及其他异常
     */
    List<DyncDataStatic> getDyncDataStaticByMachine(String instId, String machineId) throws Exception;

    /**
     * 插入智能路由统计的动态数据
     *
     * @param dyncDataStatic 智能路由统计的需要落地的动态数据
     * @return 0成功，1重复
     * @throws Exception 失败异常
     */
    int insertDyncDataStatic(DyncDataStatic dyncDataStatic) throws Exception;


    /**
     * 更新智能路由动态数据本机当前路由情况
     *
     * @param dyncDataStatic 智能路由动态数据本机当前路由情况
     * @throws Exception 失败或异常
     */
    void updDyncDataStatic(DyncDataStatic dyncDataStatic) throws Exception;
}
